package game.editer.config;

import hx.geom.Point;
import game.editer.AttrEditer.AttrData;
import game.editer.AttrEditer.AttrType;

class EffectConfig {
	public static var ATTRIBUTES:Array<AttrData> = [
		{
			text: "精灵名称",
			key: "name",
			type: String,
			defalutValue: 0,
			enable: false
		},
		{
			text: "名称",
			key: "displayName",
			type: String,
			defalutValue: ""
		},
		{
			text: "脚本绑定",
			key: "script",
			type: String,
			defalutValue: ""
		},
		{
			text: "帧率",
			key: "fps",
			type: Number,
			defalutValue: 16
		},
		{
			text: "开始帧",
			key: "startFrame",
			type: Number,
			defalutValue: 0
		},
		{
			text: "x坐标",
			key: "x",
			type: Number,
			defalutValue: 0
		},
		{
			text: "y坐标",
			key: "y",
			type: Number,
			defalutValue: 0
		},
		{
			text: "缩放x",
			key: "scaleX",
			type: Number,
			defalutValue: 0
		},
		{
			text: "缩放y",
			key: "scaleY",
			type: Number,
			defalutValue: 0
		},
		{
			text: "旋转角度",
			key: "rotation",
			type: Number,
			defalutValue: 0
		},
		{
			text: "持续时间",
			key: "liveTime",
			type: Number,
			defalutValue: 0
		},
		{
			text: "渲染模式",
			key: "blendMode",
			type: Eumes,
			attr: [
				{
					text: "正常",
					data: hx.display.BlendMode.NORMAL
				},
				{
					text: "添加",
					data: hx.display.BlendMode.ADD
				},
				{
					text: "相乘",
					data: hx.display.BlendMode.MULTIPLY
				},
				{
					text: "滤色",
					data: hx.display.BlendMode.SCREEN
				},
				{
					text: "差值",
					data: hx.display.BlendMode.DIFFERENCE
				},
				{
					text: "减色",
					data: hx.display.BlendMode.SUBTRACT
				},
				{
					text: "反转",
					data: hx.display.BlendMode.INVERT
				}
			],
			defalutValue: null
		},
		{
			text: "透明度",
			key: "alpha",
			type: Number,
			defalutValue: 1
		},
		{
			text: "飞行道具",
			key: "isFlyProp",
			type: Boolean,
			defalutValue: false
		},
		{
			text: "击中消失",
			key: "isHitClean",
			type: Boolean,
			defalutValue: false
		},
		{
			text: "锁定动作",
			key: "isLockAction",
			type: Boolean,
			defalutValue: false
		},
		{
			text: "跟随角色",
			key: "isFollow",
			type: Boolean,
			defalutValue: false
		},
		{
			text: "移动向量",
			key: "speed",
			type: Object,
			attr: [
				{
					text: "向量X",
					key: "x",
					type: AttrType.Number,
					defalutValue: 0
				},
				{
					text: "向量Y",
					key: "y",
					type: AttrType.Number,
					defalutValue: 0
				}
			],
			defalutValue: () -> {
				new Point(0, 0);
			}
		},
		{
			text: "帧动画",
			key: "self",
			type: Timeline,
		},
		{
			text: "颜色变换",
			key: "isApplyColorTranform",
			type: Boolean,
			defalutValue: false
		},
		{
			text: "红色",
			key: "R",
			type: Number,
			defalutValue: 1
		},
		{
			text: "绿色",
			key: "G",
			type: Number,
			defalutValue: 1
		},
		{
			text: "蓝色",
			key: "B",
			type: Number,
			defalutValue: 1
		},
		{
			text: "红色偏移",
			key: "ROffset",
			type: Number,
			defalutValue: 0
		},
		{
			text: "绿色偏移",
			key: "GOffset",
			type: Number,
			defalutValue: 0
		},
		{
			text: "蓝色偏移",
			key: "BOffset",
			type: Number,
			defalutValue: 0
		}
	];
}
